package com.geeksx.trainer.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * 题目实体类
 */
@Data
@TableName("question")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Question {

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 所属知识分类ID */
    private Long categoryId;

    /** 所属知识点 */
    private String concept;

    /** 题目类型 */
    private Long questionTypeId;

    /** 题目标题或简要描述 */
    private String title;

    /** 题目详细内容 */
    private String content;

    /** 题目选项（JSON数组，仅选择题/判断题/排序/匹配使用） */
    private String options;

    /** 正确答案（JSON格式，支持多答案） */
    private String answer;

    /** 题目解析 */
    private String explanation;

    /** 代码题模板（仅编程题使用） */
    private String template;

    /** 题目难度：1=简单，2=中等，3=困难 */
    private Integer difficulty;

    /** 标签，逗号分隔 */
    private String tags;

    /** 创建时间 */
    private LocalDateTime createTime;

    /** 更新时间 */
    private LocalDateTime updateTime;
}
